home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-04-02 | 84.8 KB | 2,483 lines |
- ──────────────────────────────────────────────────────────────────────
- FFG: File Finder/Grouper
- (c) 1992-1995 Thomas G. Vavoso, EnGamma - All Rights Reserved
- ──────────────────────────────────────────────────────────────────────
-
- ┌─────────┐
- ┌─────┴───┐ │ (R)
- ──│ │o │──────────────────
- │ ┌─────┴╨──┐ │ Association of
- │ │ │─┘ Shareware
- └───│ o │ Professionals
- ──────│ ║ │────────────────────
- └────╨────┘ MEMBER
-
-
- File Finder/Grouper (FFG)
- Version 2.01
- Shareware Manual
-
- Copyright 1992-1995 Thomas G. Vavoso
- President, EnGamma
- All Rights Reserved
- Member Association of Shareware Professionals
-
- 2407 Cameron Mills Rd.
- Alexandria, Va. 22302-3302
-
- Telephone (703)548-6869
- Compuserve: 71674,1747
- Internet: 71674.1747@compuserve.com
-
-
- File Finder/Grouper (FFG) performs three basic functions:
-
- 1) Searches disks/archive files for files based on
- flexible user-specified search criteria (e.g., name,
- date/time/size/Day-of-week ranges, text contents,
- attributes...)
- 2) Groups files for processing
- 3) Groups files for building databases of files
-
- If you think you already have a utility program that fills
- these functions, try the DEMO programs, examine the
- EXAMPLES.FFG file, and read the section "FFG Compared to
- Other File Finders", before you decide to put FFG aside.
-
- If you want to start using FFG right away read the "Quick
- Start" section below. Otherwise, skip to "Introduction".
-
- Be sure to read the "Shareware" notice on the next page.
- The registration cost for a single-user license and two
- years of updates is currently $15 plus a small shipping
- and processing fee for updates. See the FFG.REG file
- for details. You can also register on-line via CompuServe
- (GO SWREG, ID#1558).
-
- This manual is available in WordPerfect 5.1/5.2 format to
- registered users upon request.
-
- File Finder/Grouper 1 (c) EnGamma
-
-
-
-
-
-
-
- Shareware
-
- Shareware distribution gives users a chance to try
- software before buying it. If you try a shareware program
- and continue using it, you are expected to register.
- Individual programs differ on details -- some request
- registration while others require it, some specify a maximum
- trial period. With registration, you get anything from the
- simple right to continue using the software to an updated
- program with printed manual.
-
- Copyright laws apply to both shareware and commercial
- software, and the copyright holder retains all rights, with
- a few specific exceptions as stated below. Shareware
- authors are accomplished programmers, just like commercial
- authors, and the programs are of comparable quality. (In
- both cases, there are good programs and bad ones!) The main
- difference is in the method of distribution. The author
- specifically grants the right to copy and distribute the
- software, either to all and sundry or to a specific group.
- For example, some authors require written permission before
- a commercial disk vendor may copy their shareware.
-
- Shareware is a distribution method, not a type of
- software. You should find software that suits your needs
- and pocketbook, whether it's commercial or shareware. The
- shareware system makes fitting your needs easier, because
- you can try before you buy. And because the overhead is
- low, prices are low also. Shareware has the ultimate
- money-back guarantee -- if you don't use the product, you
- don't pay for it.
-
- FFG is a copyrighted shareware program by Thomas G.
- Vavoso, President, EnGamma. The evaluation edition of FFG
- is offered at no charge to any potential user for
- evaluation, but after a brief evaluation period users must
- register and pay for it. Feel free to share the evaluation
- edition with your friends and associates, but please do not
- give it away altered or as part of another system. The
- essence of "user-supported" software is to provide personal
- computer users with quality software without high prices,
- and yet to provide incentive for programmers to continue to
- develop new products.
-
- Disclaimer of Warranty
-
- Users of FFG must accept this disclaimer of warranty: FFG
- is supplied as-is. The author disclaims all warranties,
- expressed or implied, including, without limitation, the
- warranties of merchantability and of fitness for any
-
- File Finder/Grouper 2 (c) EnGamma
-
-
-
-
-
-
-
- purpose. The author assumes no liability for damages,
- direct or consequential, which may result from use of FFG.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 3 (c) EnGamma
-
-
-
-
-
-
-
- Quick Start
-
- 1. Demonstrations - The quickest way to become familiar
- with FFG or to get ideas for possible uses is run the DEMO
- program (DEMO.BAT). Go to the disk and directory with the
- demo batch files in it and enter:
-
- demo
-
- 2. Examples - See the file "EXAMPLES.FFG" included in the
- FFG package for a concise listing of many examples.
-
- 3. Usage Ideas - See the file "USEIDEAS.FFG" included in
- the FFG package for ideas on how FFG can be used and for
- answers to frequently asked questions.
-
- 4. Command Syntax
-
- USAGE: FFG [DriveSpec:][PathSpec]NameMask[,NameMask2...][\] [options]
-
- As usual, the items in brackets [] are optional.
-
- "NameMask" can contain one or more extended DOS wild card
- characters to specify the file name:"
-
- * = matches any string of zero or more
- characters"
- ? = matches any one character
-
- "DriveSpec" can be a simple drive letter or more:
- - If a '*' is substituted for a drive letter, all but A:
- & B: are searched. Redundant logical aliases of the
- same physical drive (e.g., substitute drives) are
- skipped to avoid multiple reports of the same physical
- file.
- - Multiple drives can be explicitly specified (e.g., A-
- D:, BDF:).
- - Drives listed after the '*' are excluded (e.g., *M:
- searches all but M:).
- - The above can be combined (e.g., AB*G-IZ: searches A:
- and B: first, then all non-redundant drives but G:
- through I: and Z:
- - No drive or ':' alone is taken to mean the current
- drive
-
- - To search for directories instead of files, put a '\'
- after the NameMask
-
-
-
-
- File Finder/Grouper 4 (c) EnGamma
-
-
-
-
-
-
-
- - During the search, pressing the following keys have
- special effects:
-
- <ESC> will stop the search.
- <G> will go to (Change Dir) the last found file.
- <S> will skip the current drive.
- <B> will cause FFG to beep when done searching.
- <UP>,<DOWN>,<RIGHT> arrow keys can guide the search
- Pressing any other key will pause the search operation.
-
- - Either '-' or '/' are acceptable command line option
- switches.
- - Options may be in any order, before or after the Search
- Mask.
- - There should be no spaces between option switches and
- their parameters.
-
- 5. Built-in Help/Examples - To get a listing of options and
- command syntax, at the DOS prompt enter:
-
- ffg - Prompts for parameters/options (/? for
- help)
- ffg /? - Usage, help, examples, options
- ffg /??
- - Individual command-line option help menu
- ffg /?n
- - Help for option 'n'; (e.g., /?d is help
- for date option)
-
- 6. Finding a File on the Current Drive - To find a file
- anywhere on the current drive enter:
-
- FFG filename.ext
-
-
- where "filename.ext" is the name of the file you want to
- find.
-
- 7. Finding a File on All Hard Drives - To find a file
- anywhere on hard drives connected to your system enter:
-
- FFG *:filename.ext
-
-
- where the '*' is interpreted to mean all non-redundant
- disk drives except A: and B:, which are assumed to be
- floppy drives. A redundant drive is one that is an alias
- for some directory subtree of another physical drive.
-
- 8. Finding a File on All Drives (including floppies) - To
- find a file anywhere on the system drives enter:
-
- ffg ab*:filename.ext
-
-
-
- File Finder/Grouper 5 (c) EnGamma
-
-
-
-
-
-
-
- where "ab*:" is interpreted to mean search drives A: and
- B: plus all hard drives.
-
- 9. Searching Inside Archive Files (e.g., .ZIP files) - To
- search all drives and inside all archive files on those
- drives type:
-
- ffg *:filename.ext /z
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 6 (c) EnGamma
-
-
-
-
-
-
-
- Introduction
-
- To get a quick idea of FFG's capabilities run the batch
- files included in DEMOBAT.ZIP or scan through the examples
- in EXAMPLES.FFG.
-
- Here is a basic list of features:
-
- - Perform filename searches using extended DOS wild card
- characters * and ?. For example you can find all files
- with "doc" anywhere in the name. This search is not
- possible using standard DOS wildcard conventions.
-
- - Easily search all disk drives or only selected drives.
-
- - Search for files or exclude files based on file name,
- date, time, size, day-of-week, attributes
- (hidden/system/read only/archive), and occurrence of text
- (including control codes) within the file.
-
- - Searches popular archive/compressed file formats such as
- those created with PKZip.
-
- - Can execute an arbitrary DOS command for each found file.
-
- - Versatile and Customizable Output Formats:
-
- - Standard columnar output, which is a basic fixed
- field output of the various file information items:
-
- FILENAME.EXT 12345 1/01/92 23:59 HSRA C:\DIRECT\SUBDIR
-
- - Packed format, which allows formation of list files
- for subsequent processing (e.g., PKZip @file):
-
- C:\DIRECT\SUBDIR\FILENAME.EXT
-
- - Comma delimited ASCII database file format, which
- allows building databases of found files:
-
- "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIRECT\SUBDIR\"
-
- - Batch file processing format, which allows
- sophisticated manipulation of found files as a group:
-
- %1 C:\PATH\FILENAME.EXT %2 %3 %4 %5 %6 %7 %8 %9
-
- Within each of the above basic format types the user can
- further customize the output. (See the detailed
- reference for the /f option.)
-
- File Finder/Grouper 7 (c) EnGamma
-
-
-
-
-
-
-
- - See the section "FFG Compared to Other File Finders".
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 8 (c) EnGamma
-
-
-
-
-
-
-
- FFG Compared to Other File Finders
-
- File Finder/Grouper (FFG) performs functions similar to
- those found in other utility programs, but here are some FFG
- features that some other file finders lack:
-
- 1. FFG uses the DOS wildcard characters '*' and '?' but
- they have extended function over the DOS counterparts.
- The extended functionality permits you to search for
- strings of characters that appear anywhere in the file
- name.
-
- 2. FFG can search for multiple file specifications in a
- single pass, such as find all BAT, COM and EXE files.
-
- 3. FFG permits you to concisely specify multiple file name
- search masks such as:
- "*[ZIP,ARC,ARJ,LHA,ZOO]*.[COM,EXE]"
- to find all archiving programs.
-
- 4. FFG can search all disk drives or selected disk drives.
-
- 5. FFG can search inside of archive files (ZIP, ARC, ARJ,
- LZH, ZOO). FFG will also search inside PKZip, ARJ, and
- LHA self-extracting (.EXE) archive files. (FFG also
- searches inside XEQ COM library files).
-
- 6. FFG can execute and arbitrary DOS command for each file
- found with or without a user confirmation before
- execution.
-
- 7. FFG finds hidden files and searches hidden directories.
-
- 8. FFG searches inside directories with name extensions
- (e.g., THISISMY.DIR). Some file finders do not search
- these directories.
-
- 9. FFG can move to the disk and directory of the found
- file (/g option).
-
- 10. FFG can search for directories instead of files simply
- by appending a backslash '\' to the search name.
-
- 11. FFG can search by a date range, time range, size range,
- or day-of-week range using intuitive syntax to specify
- these filtering criteria. Multiple include/exclude
- ranges can be specified.
-
- 12. FFG can search by the file attributes or combination of
- attributes, such as finding all Hidden Read-Only files.
-
- File Finder/Grouper 9 (c) EnGamma
-
-
-
-
-
-
-
- 13. FFG can find files based on the day of the week (i.e.,
- Sun - Sat) they were modified/created.
-
- 14. FFG can find files based on whether or not the file
- contains one or more text/ASCII-code strings. FFG will
- even search for text inside files that are archived if
- you have the associated archive extraction program
- (e.g., PKUnzip, LHA, ARJ, etc.) on your DOS search
- path.
-
- 15. FFG permits you to exclude certain files base on name,
- date, time, size, attributes, day-of-week criteria,
- text contents.
-
- 16. FFG can search for files by date relative to today,
- such as all files modified/created 7 to 14 days ago.
-
- 17. FFG can search for files relative to the current time
- of day, such as all files modified/created within the
- last ten minutes.
-
- 18. The asterisk '*' can be used as a wildcard in date and
- time criteria, such as /d9/*/93 for all September 1993
- files and /t13:* for all 1:00pm - 1:59pm files.
-
- 19. Current month (M), day (D), year (Y) can be specified
- in date criteria such as 1/1/Y-6/30/Y, M/D/Y (today)
-
- 20. Current hours (H), minutes (M), seconds (S) can be
- specified in time criteria such as H:M:S (now).
-
- 21. Partial dates and times are interpreted, such as 9/93 -
- > 9/*/93, 5/1 -> 5/1/Y (Y = current year), 92-93 -> all
- 1992-1993 files, 9 -> 9:00:00am.
-
- 22. Multiple date, time, size, day-of-week, attribute, text
- filtering criteria can be specified, which are combined
- in a logical AND or OR depending on how they are
- specified.
-
- 23. FFG lets you pause (press any key) or interrupt (press
- <ESC>) the search operation at any time.
-
- 24. FFG lets you guide the search by using the arrow keys
- to skip files and directories.
-
- 25. FFG can be used to produce database files of its output
- (ASCII comma-delimited files)(/f, option)
-
- 26. FFG provides useful default output format options but
-
- File Finder/Grouper 10 (c) EnGamma
-
-
-
-
-
-
-
- permits extensive user customization of the output
- format.
-
- 27. FFG can be used to produce output as DOS batch files
- (.BAT) with DOS replaceable parameters (%1 through %9).
- The batch file can then be used to execute an arbitrary
- set of commands against the group of files such as
- copy, back up, archive, delete, move, edit...). The
- power and flexibility of this feature is limited only
- by your imagination. Although some other finders have
- similar capability, they do not have the same
- flexibility.
-
- 28. By default, when FFG is searching all disk drives
- (i.e., *: is specified), it skips disk drives that are
- logical aliases of subtrees of physical drives that
- will also be searched. This avoids reports of multiple
- copies of the same physical file when it appears also
- on logical alias drives.
-
- 29. FFG lets you use 43- and 50-line video modes on EGA/VGA
- systems so you can see more on the screen.
-
- 30. Frequently used options can be made semi-permanent by
- setting them in the DOS environment variable FFGOPT
- using the DOS 'set' command as in: SET FFGOPT=/p /v5 /z
- /bpd /fp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 11 (c) EnGamma
-
-
-
-
-
-
-
- Usage and Examples
-
- FFG [DriveSpec:][PathSpec]NameMask[,NameMask2...][\] [options]
-
- FFG is currently not case sensitive. However, as features
- are added in future releases case may be used to distinguish
- options. Therefore, use of lower case is recommended. In
- many of the examples provided in this manual mixed upper and
- lower case is used for clarity only.
-
- If there is not at least one NameMask, FFG will prompt you
- for input parameters.
-
- DriveSpec tells FFG which drives to search. If DriveSpec is
- not specified the current disk is searched. A simple DOS
- drive letter designation can be specified (e.g., C:) or a
- list of drives can be specified (e.g., ABC:). Also, a '*'
- can be used to search all drives except A: and B:. When '*'
- is used FFG skips any drives that are redundant logical
- aliases of drives (e.g., substitute drives) that would have
- already been searched. When '*' is used, it can be combined
- with an explicit search list (e.g., ab*:); the drives that
- are explicitly listed will be searched first. If you wish
- to specify "all drives but..." then list the drives to
- exclude after the '*' (e.g., *cd). Finally, a range of
- drives may be specified (e.g., a-z:). All of the above can
- be combined (e.g., a-z*bcf-v:, which means all but B:, C:,
- and F:-V:). If any drives that are explicitly specified
- cannot be accessed, such as empty floppy drives, FFG reports
- them as inaccessible. If a drive letter appears both before
- and after the '*' in a DriveSpec, it is not searched. See
- the following DriveSpec examples. (Advanced: See also the
- /: option to change default behavior.)
-
- PathSpec tells FFG which directory to use as the search
- starting point. The specified directory and all descendent
- subdirectories will be searched unless the NO RECURSION
- option (/r) is specified. See the following PathSpec
- examples.
-
- NameMask gives FFG a file name pattern to look for.
- Multiple name masks can be specified by separating them with
- a comma (',') sign. NameMask can use DOS wildcard
- characters '*' and '?', but they have extended functions.
- The '*' will match zero or more characters and the '?' will
- match exactly one character. The period that separates the
- file first name and the filename extension is treated as any
- other character in the name. If a terminating backslash is
- appended to the list of NameMasks, FFG will search for
- directories in lieu of files. See the following NameMask
-
- File Finder/Grouper 12 (c) EnGamma
-
-
-
-
-
-
-
- examples.
-
- NameMasks can also include alternative patterns to concisely
- specify multiple masks that have common elements. For
- example, rather than specify "*.BAT,*.COM,*.EXE", you can
- use "*.[BAT,COM,EXE]". The brackets contain different
- possible alternatives for that part of the NameMask.
- Brackets can be nested. Here are two more complicated
- examples:
-
- 1. Let's say you want to see all files which have names
- that are variants of "CONFIG" or an abbreviation of it.
- Here's how you might specify it: "*C[[O,]N,]F[I,]G*",
-
- which is equivalent to specifying:
-
- "*CONFIG*,*CONFG*,*CNFIG*,*CNFG*,*CFIG*,*CFG*"
-
- 2. Let's say you want a listing of all archiving
- programs, including batch files that perform and archiving
- function. Here's how you could specify it:
-
- "*[ZIP,ARC,ARJ,LHA,PAK,ZOO]*.[EXE,COM,BAT]"
-
- The above is equivalent to specifying 18 separate
- NameMasks:
-
- "*ZIP*.EXE,*ZIP*.COM,*ZIP*.BAT,...,*ZOO*.COM,*ZOO*.BAT"
-
- NOTE: Slashes can be used instead of commas as in
- "*.[BAT/COM/EXE]". This permits a NameMask to be
- passed to FFG as a parameter to a batch file. This
- would not otherwise be possible using commas because
- DOS considers the comma to be a batch file command-
- line argument delimiter.
-
- Drive Specifier (DriveSpec) Examples:
-
- These examples illustrate the different ways to specify
- which disk drives should searched.
-
- ffg filename - Searches current drive
-
- ffg c:filename - Searches drive C:
-
- ffg *:filename - Searches all drives but A:, B:, and
- redundant logical alias drives.
-
- ffg ab*:filename - Searches all drives but redundant
- logical alias drives
-
- File Finder/Grouper 13 (c) EnGamma
-
-
-
-
-
-
-
- ffg a-z:filename - Searches all drives
-
- ffg ec*:filename - Searches E: then C: then all other
- non-redundant drives but floppies
-
- ffg *c:filename - Searches all non-redundant drives but
- C: and floppies
-
- ffg d*m-z:filename - Searches D: then all non-redundant
- drives except M: through Z:
-
- The /: option can be used to reconfigure and customize the
- way FFG treats the wildcard drive (*:) and which drive(s)
- FFG searches when no drives are specified. Refer to the /:
- option description for details. Also, see how this
- configuration change can be retained using the FFGOPT
- environment variable.
-
- File Path Specifier (PathSpec) Examples:
-
- These examples illustrate the different ways to specify the
- directory where the search should start.
-
- ffg filename - Searches from root directory
-
- ffg \filename - Searches from root directory
-
- ffg \DOS\filename - Searches from \DOS directory
-
- ffg .\filename - Searches from current directory
-
- ffg ..\filename - Searches from parent of current
- directory
-
- ffg \filename /r - Searches only the root directory, no
- subdirectories
-
- File Name Mask (NameMask) Examples:
-
- These examples illustrate the different ways to search based
- on the file name.
-
- ffg *.* - Searches for all files
-
- ffg * - Searches for all files (identical to
- *.*)
-
- ffg *\ - Searches for all directories
-
- ffg *bat - All files ending in 'BAT' (Finds:
-
- File Finder/Grouper 14 (c) EnGamma
-
-
-
-
-
-
-
- BALLBAT, WOMBAT, AUTOEXEC.BAT...)
-
- ffg *.bat - All files with a '.BAT' extension.
- (Finds: BALL.BAT but will NOT find
- BALLBAT)
-
- ffg *read*me* - All files with 'read' anywhere in name
- followed by 'me' (Finds: READ.ME, PLS-
- READ.ME, README, README.COM,
- READU.NME, YOUREAD.ME)
-
- ffg *help*,*hlp* or
- ffg *h[e,]lp* - All files with 'help' or 'hlp'
- anywhere in the name. (Finds:
- WINHELP.EXE, SETUP.HLP,
- PRINTHLP.EXE...)
-
- ffg *c*f*g* - All files with 'c', 'f', and 'g' in
- order in name. (Finds: CONFIG.SYS,
- MIDIMAP.CFG, CFGSAVE.DLL, MYCFG.DAT,
- MYCONFG.FIL...)
-
- ffg *. - Finds extensionless files
-
- ffg ????.* - Finds files with exactly four
- characters in first name. (Finds:
- DATA.IN, DATA.OUT, TASM.EXE, TEST...;
- Doesn't find: TEST1, TST.DAT...)
-
- ffg *bat?* - Finds files with 'BAT' anywhere in
- name but at the end. (Finds:
- BATLIB.COM, MYBAT.DAT, BALLBATS...;
- Doesn't find: BALLBAT, AUTOEXEC.BAT)
-
- ffg ?????? - Finds all files having exactly 6
- character names, including the period
- if the file has an extension. (Finds:
- SCRAPS, GO.BAT, SAVE.C)
-
- ffg * /x*.bat - Finds all files but DOS batch files
- (.BAT)
-
- ffg *win*\ - Searches for all directories with
- 'WIN' anywhere in the directory name
-
- ffg *arc*.[com,exe] - Search for all 'arc' programs
-
-
-
-
-
- File Finder/Grouper 15 (c) EnGamma
-
-
-
-
-
-
-
- Alternate Methods of Entering FFG Parameters
-
- If no parameters are entered on the command line, then FFG
- will prompt you for input. In this case, the number of
- parameters are not limited by screen width or the DOS 128
- character command line limit. This feature is also useful
- to let FFG be invoked by menu choices or by clicking on a
- icon in Windows since it doesn't require the
- parameters/options to be entered ahead of time.
-
- Alternatively, you can put FFG parameters and options on the
- first line of an ASCII text file and have FFG get its input
- from that file. For example, if you put FFG
- parameters/options on the first line inside a file named
- PARAMS.FFG you would run FFG with those parameters as:
-
- ffg < params.ffg
-
- This uses the DOS input redirection operator '<' to tell FFG
- to take its input from the file instead of the keyboard.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 16 (c) EnGamma
-
-
-
-
-
-
-
- Alphabetical Listing of Command Line Options/Switches
-
- Quick Reference:
-
- Option Function
- /a Filter by Attributes of File
- /b Set Beep when file found, prompted, and/or done
- /d Filter by Date of File
- /e Execute Command for each find
- /f Set Format of Output
- /g Go to directory
- /h Filter Hidden directories
- /p Set Pause each screenful, every n lines, when done
- /q Set Quiet/no screen output
- /r Do not Recursively search subdirectories
- /s Filter by Size of file
- /t Filter by Time of file
- /v Set Video mode # of lines
- /x Filter by eXcluding file names
- /z ZIP and other archive file search
- /1 Find only 1 file
- /$ Filter by Text/code string within file
- /: Set Drives and Drive types to be searched
- /! Set to disable various user interrupt methods
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 17 (c) EnGamma
-
-
-
-
-
-
-
- Options - Detailed Reference:
-
- Filtering by File Attributes
-
- /a Attributes of File
-
- /aAttrMask[[,|']AttrMask...] - include only files matching
- specified attributes
-
- AttrMask = is a string composed of H,S,R,A,'.'
-
- H = hidden attribute set.
- S = system attribute set.
- R = read-only attribute set.
- A = archive attributes set.
- ! = before one of the above, it means not set
- . = "specified attributes period"; unspecified
- attributes must not be set; The period must be at
- the end of the string, e.g. /aHR. = hidden AND read
- only files with no other attributes set.
-
- Attribute Examples
-
- /aR - Read-only files
- /aH - Hidden files
- /a!S - All but System files
- /aA - Files with Archive bit set
- /aHR - Files that are both hidden and
- read-only
- /aHR. - Hidden&Read-only files with no
- other attributes set
- /aH!R - Hidden files that are not read-
- only
- /a!H - Files that are not hidden
- /a!H!R - Files that are neither hidden or
- read-only
- /aHR!S!A - Files with only hidden and read-
- only attributes (same as /aHR.)
- /a!H /a!S /a!R - Normal files (not Hidden AND not
- System AND not Read-only)
- /aHS,SR,HR /a!H,!S,!R - Any two of H, S, R, but not all
- three
-
-
- Audible Beep for Certain Events
-
- /b Beep - Beeps the system speaker for specified events
-
- /b[F][P][D][E] - Beeps when:
-
-
- File Finder/Grouper 18 (c) EnGamma
-
-
-
-
-
-
-
- F = a file is found
- P = user is prompted
- D = program is done running
- E = Error
-
- if /b is specified alone beeps will occur for all of
- the above
-
- If multiple /b options are encountered, the right-most
- will override previous settings. For example, /bf /bd
- will cause beeping only when FFG is done.
-
- [See also "Configuring FFG"]
-
-
- Filtering by File Date
-
- /d Date of File
-
- /dDateRangeStr[[,|']DateRangeStr...] - include only files
- matching specified date range
-
- where DateRangeStr is one of the following:
-
- mm/dd/yy - only files matching mm/dd/yy
- m1/d1/y1-m2/d2/y2 - only files matching this date
- range inclusive
- -mm/dd/yy - only files on or before this
- date
- mm/dd/yy- - only files on or after this date
- T - Relative: only files with
- Today's date
- nT-Tm - Relative: n days before TODAY to
- m days after today
- nT-mT - Relative: n days before TODAY to
- m days before TODAY
- [Su|Mo|Tu|We|...|Sa] - only file matching specified day
- of the week. Can also specify a
- range in this way. Use alone or
- in addition to above date
- options.
-
- Asterisks may be used in lieu of mm,dd,yy date elements
- to ignore an element. The characters M, D, Y can be
- used in lieu of numeric mm, dd, yy elements to use the
- current month (M), day (D), year (Y). If some elements
- are left off assumptions are made as follows: If an
- element is left off and its separator '/' is used then
- the current value for the missing element is assumed
- (e.g. 9//93 -> 9/D/93). If one separator is missing
-
- File Finder/Grouper 19 (c) EnGamma
-
-
-
-
-
-
-
- (i.e., xx/yy) a guess is made based on the values used
- for xx and yy: If it is possibly a mm/yy value, then
- mm/*/yy (any day) is assumed. If it is possible a mm/dd
- value then mm/dd/Y (current year) is assumed. If it's
- neither of the above then its a dd/yy value and M/dd/yy
- is assumed. Similar guesses are made if both separators
- are missing (i.e., xx): If xx is possible a year then
- */*/yy is assumed. If xx is possibly a day, then M/dd/Y
- is assumed.
-
- If /d is specified with no date filter, a default value
- of 'today' is assumed (i.e., /d = /dT).
-
- Date Examples
-
- /d1/1/93 - Files dated 1/1/93
- /d1/1/80-12/31/80 - Files having a 1980 date
- /d-12/31/92 - Files dated 1992 and earlier
- /d1/1/93- - Files later than 1992
- /dT - Files dated TODAY
- /d6T-T - Files dated in the last 7 days
- /d14T-7T - Files dated 7-14 days ago
- /dSu - Files dated on a Sunday
- /d6T-T /dFr - Files dated last Friday
- /d6T-T /dSa-Su - Files dated last Weekend
- /dM/D/Y - Files dated today (same as /dT)
- /d// - Files dated today
- /d1-15 - Files dated 1st-15th of this
- month
- /d80-85 - Files dated between 1980 and
- 1985
- /d7/92-12/92 - Files dated in second half of
- 1992
-
-
- Executing a Command for Each Found File
-
- /e Execute Command for each find
-
- /e[!][CommandStr] - Execute a command for each found file.
-
- where CommandStr is either:
-
- 1. Not specified, in which case the found file itself is
- executed. It is assumed the found file is executable,
- otherwise the command will not execute.
-
- 2. It is a DOS command string including optional Format
- Specifiers. The Format Specifiers are the same as those
- used for output formatting (see /f description) except
-
- File Finder/Grouper 20 (c) EnGamma
-
-
-
-
-
-
-
- that they must be preceded by a '%' character to
- distinguish them from normal characters. For example,
- to represent the full file name, %n would be used.
- Spaces are represented with %_ and double quotes are
- represented by %'. These two special specifiers are
- required because spaces are interpreted as separators
- between command parameters and double quotes are used to
- treat a string with spaces as a unit. Inside batch
- files, two percent signs %% are required to avoid having
- DOS interpret the % as a replaceable parameter.
-
- The command is executed from the disk drive and
- directory of the found file, so in most cases it is not
- necessary to specify %p\%n when referring to the found
- file; %n would suffice.
-
- Confirmation - Normally FFG asks the user to confirm
- whether the command should be executed. However, if the
- '!' is specified, the command will be executed for all
- found files without asking the user for confirmation.
- When confirmation is on, the user is given the following
- options:
-
- 1. <Y>es - Execute the command
- 2. <N>o - Skip the command execution
- 3. <A>ll - Execute the command and turn off
- subsequent confirmations
- 4. <S>hell - Shell to the DOS prompt
- 5. <ESC> - Quit
-
- Execute Command Examples:
-
- /e - Execute each found file
- w/confirmation
- /e! - same as above without
- confirmation
- /e"REN %P\%N %F.NEW" - => ren d:\path\fname.ext fname.new
- /eREN%_%P\%N%_%F.NEW - same as above
- /eDEL%_%P\%N - => del d:\path\fname.ext (%P\
- optional)
- /eMD%_NEWSBDIR - => md newsbdir (make new
- subdirectory)
- /e"COPY %N A:" - => copy fname.exe a: (note that by
- quoting the part of command
- string containing spaces, you
- can avoid having to use the
- space Format Specifier, %_)
-
- Memory Available For Commands - When a command is executed
- with the /e option all but about 6 KB of the memory
-
- File Finder/Grouper 21 (c) EnGamma
-
-
-
-
-
-
-
- occupied by FFG is swapped to EMS, XMS, or Disk to
- maximize the amount of memory available to the executed
- program.
-
-
- Customizing the Format of FFG Output
-
- /f Format of Output
-
- /fxFormatStr
-
- There are four basic types of output formats supported
- by FFG: Columnar output (the default), Packed path,
- ASCII Comma delimited and Batch File. Within each of
- these types there is much flexibility in defining the
- precise output (see Format Strings below). Examples of
- each are:
-
- 1. Columnar Output (/fc, this is the default format)
-
- FILENAME.EXT 12345 1/01/92 23:59 HSRA C:\DIRECT\SUBDIR
-
- 2. Packed Path Output (/fp)
-
- C:\DIRECT\SUBDIR\FILENAME.EXT
-
- 3. ASCII Comma Delimited Database Output (/f,)
-
- "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIRECT\SUBDIR\"
-
- 4. Batch File Output (/fb)
-
- %1 C:\PATH\FILENAME.EXT %2 %3 %4 %5 %6 %7 %8 %9
-
-
- Here is a detailed description of the output formatting
- options:
-
- /fxFormatStr
-
- x = C Column - Fixed field width columnar output
- ("NSDTAP" default)
-
- P Packed - Merge all fields together ("PN" is
- default)
-
- , Comma - Comma-delimited ASCII database format
-
- B Batch File - Format for batch processing with %1,
- %2....
-
- File Finder/Grouper 22 (c) EnGamma
-
-
-
-
-
-
-
- S Summary - Summary Control - This option
- determines whether a summary report is
- displayed and is used independent of
- the other /f option switches. The 's'
- must be followed by '.' or '!', which
- have the following meanings:
-
- . - Summary only
- ! - no summary (good for when you are
- redirecting output and don't want
- the summary report to be
- redirected to the file).
-
- FormatStr is a string composed of Format Specifiers:
-
- f = file First name (e.g. if file is FNAME.EXT then
- "FNAME" is displayed)
- { c = Comments/File Descriptive notes
- e = file Extension (e.g. if file is FNAME.EXT then
- ".EXT" is displayed)
- s = Size of file
- d = Date of file
- t = Time of file
- n = Full FileName, including extension (e.g.,
- FNAME.EXT)
- a = file Attributes e.g. "H-R-" for a hidden and read-
- only file; *ZIP, *ARC for files found in ZIP and
- ARC files
- p = full Path to file, including disk drive (trailing
- backslash '\' is excluded for all but Comma-
- delimited output)
- r = diRectory path without drive (trailing backslash
- '\' is excluded for all but Comma-delimited
- output)
- h = Home directory or in other words, the directory
- from which FFG was started.
- . = Same as h (home directory)
- _ = blank space
- ' = single quote translated to double quote (/e option
- only).
- % = to get a % sign (/e option only)
- \ = backslash directory separator
- : = drive on which file was found including colon
- (e.g. C:)
- ; = drive on which file was found excluding colon
- (e.g. C)
- 0-9 = (meaningful with the /fB option only) inserts a
- corresponding DOS .BAT file replaceable parameter
- %0-%9 (e.g. 1->%1);
-
-
- File Finder/Grouper 23 (c) EnGamma
-
-
-
-
-
-
-
- Formatting Examples
-
- 1. /FCnsdtap displays output in fixed Columns (the
- default) as follows:
-
- FILENAME.EXT 12345 1/01/92 23:59 HSRA C:\DIR\SUBDIR
-
- 2. /FPpn displays results in a Packed format as follows:
-
- C:\DIR\SUBDIR\FILENAME.EXT
-
- 3. /FPpn_s_d_t_a displays results in a Packed format as
- follows:
-
- C:\DIR\SUBDIR\FILENAME.EXT 12345 1/01/92 23:59 HSRA
-
- 4. /F, displays Comma-delimited results for import into
- a database as follows:
-
-
- "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIR\SUBDIR"
-
- 5. /FB1_2_p\n_34_5 provides format for later Batch file
- processing:
-
- %1 %2 C:\DIR\SUBDIR\FILENAME.EXT %3%4 %5
-
- 6. /FB1_p\n_f.2 > changext.bat creates a batch file with
- lines as follows:
-
- %1 C:\DIR\SUBDIR\FILENAME.EXT FILENAME.%2
-
- Which could then be used as follows to change the
- extension of all found files to ".NEW":
-
- changext rename NEW
-
- 7. /F, /FS! displays comma-delimited output without
- summary information.
-
- 8. /FS. displays summary information only
-
- [See also "Configuring FFG"]
-
-
-
-
-
-
-
-
- File Finder/Grouper 24 (c) EnGamma
-
-
-
-
-
-
-
- Go To Found File
-
- /g# Go to directory of found file
-
- /g# where # is a number N; goto Nth found file
-
- When this option is used, FFG changes the current disk
- drive and directory to the drive/directory of the Nth
- found file. No other files are found. If the found
- file is in an archive file (/z option used), FFG changes
- to the disk and directory of the archive file that
- contains the found file. If searching for directories
- instead of files, FFG changes into the found directory
- (makes it the current directory). If /g is specified
- without a number, then you will be prompted for each
- found file.
-
- # = blank, 0 - pause and prompt user after each found
- file
- # = 1 - go directly to first found file without
- prompting
- # = other # - go to directly to #th found file withoug
- prompting
-
- Multiple /g options override previous settings. For
- example, /g /g5 is equivalent to /g5.
-
-
- Searching Hidden Directories
-
- /h Hidden directories
-
- /h[.|!]
-
- Hidden directories are searched by default. The
- following modifications are possible:
-
- /h - toggle hidden directories search option (i.e,
- hidden directories will be skipped since the
- default is to search them)
- /h. - only hidden directories are searched
- /h! - do not search hidden directories
-
- If multiple /h options are encountered, the right-most
- one overrides previous settings.
-
-
-
-
-
-
- File Finder/Grouper 25 (c) EnGamma
-
-
-
-
-
-
-
- Pausing FFG Output
-
- /p[#] Pause each screenful, when done or page at a time
- /pd Pause when FFG is done.
-
- /p[#] pause after every # lines of output; # is
- optional;
-
- This option causes output and searching to pause after #
- lines of screen output. If # is not specified, the
- current screen height will be assumed. If # is set to
- 0, there will be no pause (as though /p were not used at
- all).
-
- # = blank - pause after one screenful of output.
- # = 0 - continuous output - don't pause (this is
- the default if /p is not specified)
- # = 1 - pause after each found file (useful for
- providing an opportunity for user
- interaction
- # = other # - pause after # lines of output.
- # = d - pause when FFG is done. This is useful
- when running FFG from Windows or from a
- menu system so that you have a chance to
- view the last screenful of FFG output
- before FFG exits and returns to Windows
- or the menu system.
-
- [See also "Configuring FFG"]
-
-
- Suppressing FFG Screen Output
-
- /q Quiet - Suppresses all but specified output events
-
- /q[M][T][S][F] - Suppresses output for all but:
-
- M = Status meter
- T = program title line
- S = Output summary
- F = Found File
-
- if /q is specified alone all output is suppressed
-
-
-
-
-
-
-
-
- File Finder/Grouper 26 (c) EnGamma
-
-
-
-
-
-
-
- If multiple /q options are encountered, the right-most
- one overrides previous settings.
-
- [See also "Configuring FFG"]
-
-
- Searching Subdirectories
-
- /r Recursion (subdirectory search)
-
- By default FFG recursively searches all descendent
- directories of the starting directory in the directory
- tree structure. When the /r option is used only the
- starting directory is searched.
-
- Multiple /g options toggle this setting. For example,
- /r /r is equivalent to not specifying /r.
-
-
-
- Filtering by File Size
-
- /s Size of file
-
- /sSizeRangeStr[[,|']SizeRangeStr...] - include only
- files matching specified size
-
- where SizeRangeStr is one of the following:
-
- Size - only files of this size
- MinSize-MaxSize - only files within this size
- range inclusive
- -MaxSize - only files this size or smaller
- MinSize- - only files this size or larger
-
- MinSize, Size, MaxSize can use suffixes K, M, G as
- abbreviations of 1 Kilobyte, 1 Megabyte, and 1 Gigabyte
- (e.g. /s1K-25M)
- Size Examples
-
- /s0 - empty files
- /s1M- - very large files (>= 1 megabyte)
- /s-500 - tiny files (<= 500 bytes)
- /s1K-2K - 1024-byte to 2048-byte files
- /s-500 /s!0 - smaller than 500 bytes but not
- empty
- /s-500,1M- - tiny or very large files
-
-
- Filtering by File Time
-
- File Finder/Grouper 27 (c) EnGamma
-
-
-
-
-
-
-
- /t Time of file
-
- /tTimeRangeStr[[,|']TimeRangeStr...] - include only
- files matching specified times
-
- where TimeRangeStr is one of the following:
-
- hh:mm:ss - only files matching this time
- h1:m1:s1-h2:m2:s2 - only files within this time
- range inclusive
- -hh:mm:ss - only files on or before this
- time
- hh:mm:ss- - only files on or after this time
- nN, Nm - n minutes before now, m minutes
- after now - can be used as min
- or max in time ranges
-
- Times must be specified using a 24-hour clock (i.e,
- 23:00 instead of 11:00 PM). Time ranges may span 0:00
- (midnight). Asterisks may be used in lieu of hh,mm,ss
- time elements to ignore an element. The characters H,
- M, S can be used in lieu of numeric hh, mm, ss elements
- to use the current hours (H), minutes (M), seconds (S).
- If some elements are left off assumptions are made as
- follows: If an element is left off and its separator
- ':' is not used then '0' is assumed for that element
- (e.g., 9 -> 9:00:00). However, if the separator is
- specified then '*' is assumed for that element (e.g., 9:
- -> 9:*:*)
-
- If /t is used without a time filter, then a default
- value of 'now' is used (i.e., /t = /tN = /tH:M:*).
-
- Time Examples
-
- /t-8:00 - Earlybird files (before 8am)
- /t17:00-8:00 - After-hours files
- /t17:00- - Evening/night files
- /t8:00-17:00 - Workday files
- /t10N- /dT - Recent files (within last 10
- minutes)
- /t9:*:* - Same as range 9:00:00-9:59:59
- /t9-10 - Same as 9:00:00-10:00:00
- /t9:-10: - Same as 9:*:*-10:*:*
- /t:: - Same as *:*:*
- /t9:10:
-
-
- Setting Video Mode (number of lines on screen)
-
-
- File Finder/Grouper 28 (c) EnGamma
-
-
-
-
-
-
-
- /v[2][4][5] - Change video lines to 25, 43,or 50
-
- 2 = 25 lines
- 4 = 43 lines (EGA and VGA only)(43 even if its VGA)
- 5 = 50 lines (VGA only)
-
- if /v is specified alone the video mode is toggle
- between the 25 and the maximum number of lines supported
- (43 or 50 depending on whether video is EGA or VGA).
-
- If multiple /v options are encountered, the right-most
- one overrides previous settings.
-
- [See also "Configuring FFG"]
-
-
- Filtering by Excluding File Names
-
- /x Exclude Files
-
- /xFileMaskList - exclude all files in FileMaskList,
-
- where FileMaskList is a list of file specs separated by
- ',' commas. For example, /x*.bat,*.exe,*.com or
- /x*.[bat,exe,com]
-
- If multiple /x option switches are specified, a file
- will be excluded only if it matches all of the separate
- /x criteria. For example, /x*boy* /x*dog* will exclude
- the files BOYDOG.DAT, DOGBOY.DAT, but not BOYS.DAT or
- DOGS.DAT.
-
- To exclude files that contain either 'BOY' or 'DOG' in
- the name specify: /x*[boy,dog]*, which is equivalent to
- /x*boy*,*dog*
-
-
- Searching Inside Archive Files
-
- /z ZIP and other archive file search
-
- /z[.][ArcExtList] - Search inside archive files.
-
- . = search ONLY inside archive files.
- ArcExtList = list of file extensions to treat as
- archives. e.g.,
- /zZIP,ARC,LZH,ARJ,ZOO,COM,EXE
-
- FFG currently supports ZIP, ARC, LZH, ARJ, ZOO, and XEQ
- archive files. It also supports ZIP, LHA and ARJ self-
- extracting (.EXE) archive files.
-
- File Finder/Grouper 29 (c) EnGamma
-
-
-
-
-
-
-
- If /z is used in conjunction with /$ (text search) the
- files within the archive will be extracted and searched
- if:
-
- - you have the associated extraction program
- (e.g., PKUnzip, LHA) on you DOS search
- path and
- - FFG can find temporary disk scratch space
- to extract the file (see Setting a
- Temporary Directory in the Miscellaneous
- section of this manual).
-
- [See also "Configuring FFG"]
-
- Archive Examples
-
- /zZIP - Limits archive search to ZIP files
- /zARC,LZH - Limits archive search to ARC and LZH files
- /z. - Limits search to only archive files
-
-
- Filtering by Finding Text Strings Within Files
-
- /$ - Include files containing text the specified text string
-
- /$[=c][=!][=#n]TextCodeStr[=c][[,|'][=!][=#n]TextCodeStr2[=c
- ]...]
-
- Include files containing the string(s) represented by
- TextCodeStr. TextCodeStr can be a comma-separated/bracketed
- set of alternatives (see syntax for name searching)
-
- TextCodeStr- TextCodeStr is alphnumeric text with
- optional imbedded codes for special
- characters.
-
- =c = Case Sensitivity
-
- The '=c' at the beginning of the option
- sets the case-sensitivity for all
- alternatives specified in the option
- argument. This can be overridden for a
- specific alternative by putting a '=c' in
- that alternative string. For example,
-
- /$=cfirst,second=c,third
-
- would match files containing "first" (case
- sensitive) or "second" (ignoring case), or
- "third" (case sensitive).
-
- File Finder/Grouper 30 (c) EnGamma
-
-
-
-
-
-
-
- If mixed case it used in a text string, it
- is taken to imply that the search should
- be case-sensitive, regardless of whether
- '=c' is specified.
-
- =! = Exclude file if TextString found.
-
- =#n = Search only first 'n' bytes of file
-
- =Code = If within TextString '=' is followed by a
- 1-3 digit numeric code with a value
- between 1 and 255, the character
- corresponding to that numeric code will be
- matched. This enables specifying control
- codes and any other codes that might be
- otherwise not be allowed by DOS on the
- command line. For example,
-
- FFG *.exe /$=cPK=3=4
-
- would search EXE files for self-extracting
- PKZip files. The above /$ option example
- is equivalent to /$=cPK=003=004. The
- leading zeroes are necessary only when you
- want to follow the code with numeric text.
-
- Special characters - Some characters are interpreted by the
- DOS command line interpreter and if used may give
- undesirable results. These include "><|", the DOS
- redirection and pipe symbols. The easiest way around this
- problem is use enclose search strings containing such
- characters in quotes. A second way around this problem is
- to specify the codes for these characters using '=' as
- described above. A third way is to use the following
- alternatives which are interpreted by FFG:
-
- =) = for '>'
- =( = for '<'
- =I or =i = for '|'
- =Q or =q = for '"' (Q for quotes)
- =: = for ';'
- =_ = for ' ' (blank)(to avoid quoting string)
- == = for '=' (to override special function of
- =)
-
- Also, since the characters ",'[]" have special meaning to
- FFG in specifying alternatives (as in /$[basket,foot,base]ball),
- if they are to be part of the search text they must be
- preceded with an '=' symbol. For example, /$Bill's is
- interpreted incorrectly as "Bill" OR "s", but /$Bill='s is
-
- File Finder/Grouper 31 (c) EnGamma
-
-
-
-
-
-
-
- interpreted correctly as "Bill's".
-
- Text String Search Examples
-
- /$simple - finds files containing 'simple' regardless
- of case (same as /$SIMPLE)
- /$=csimple - finds files containing 'simple' - lower
- case only
- /$T[h,]om - finds files containing 'Tom' or 'Thom' -
- case sensitive
- /$me /$you - finds files containing both 'me' and 'you'
- regardless of case
- /$T,=!M - finds files that either contain a 'T' or
- don't contain an 'M', case-insensitive.
- /$=#4=255WPC - finds WordPerfect Corporation product data
- files; searches only first 4 bytes of file
-
- Efficiency Note: Searching the contents of a file is much
- slower than searching by name, date, time,
- size, attributes. Searching contents is
- slower still when you combine it with the
- /z option to search for text within
- archive files, since the file must be
- extracted from the archive to be searched.
- Therefore, to improve the speed of a text
- search it helps to filter out files based
- on these other criteria before searching
- the file for text. FFG will do this
- filtering first if you specify other
- criteria. The more narrow the other
- criteria are, the greater the speed
- improvement will be. A particularly
- important criteria is file size. If you
- put an upper limit on the size of the
- files, it will avoid scanning large files.
-
- Another, important way to improve speed is
- to embed the '=#n' control sequence in the
- text string to limit the text scan to the
- first 'n' bytes of the file. Of course
- you need to know approximately how close
- the data you are searching for is to the
- start of the file. One of the above
- examples, uses this technique.
-
-
- Disk Drives to Search Customization
-
- /:*[DriveList] - Set wildcard drives
- /:[!]DriveTypeList - Set wildcard drive types
-
- File Finder/Grouper 32 (c) EnGamma
-
-
-
-
-
-
-
- /:_[DriveSpec] - Set drives to search when no drive
- specified
-
- /:[*|!|_] - Resets to defaults
- The /: option sets which drives and drive types are searched
- when a wildcard '*' is used for drive and/or when no drive
- is specified.
-
- DriveList = non-wild list of drives (ranges
- allowed)
- DriveTypeList = string of drive types composed of one
- or more of the following:
-
- C = CD-ROM
- F = Floppy
- N = Network
- S = Substitute
-
- Examples:
-
- /:*c-f => "ffg *:*.bat" Interpreted as "ffg cdef:*.bat"
- /:!FCN => "ffg *:*.bat" Searches all drives but Floppy,
- CDROM, and Network drives
- /:_ab* => "ffg *.bat" Interpreted as "ffg ab*:*.bat"
-
- This option is intended for use with the FFGOPT environment
- variable. [See "Configuring FFG"]
-
- Limiting Number of Found Files One
-
- /1[:|r|z|c] - Stops after finding 1 file [per drive,
- directory, archive, container]
-
- : = per drive
- r = per directory
- z = per archive
- c = per container (archive or directory)
-
- Disabling User's Ability to Interrupt
-
- /![i|q|s|g] - Disable various user interrupt methods to
- prevent user from skipping part of the
- search
-
- i = disable Input from keyboard of any kind (same as /!)
- q = disable Quit/escape using <ESC>, <CTRL>-<BREAK>,
- <CTRL>-C
- s = disable Skip drive
- g = disable Goto
-
-
- File Finder/Grouper 33 (c) EnGamma
-
-
-
-
-
-
-
- Configuring FFG
-
- DOS environment variables can be used to set FFG
- configuration preferences to avoid having to type them in as
- command line options each time FFG is run. Say for example,
- you want to always use 50-line video mode (/v5), packed
- output format (/fp), and pause when the screen fills (/p).
- To do this, set the desired options in an environment
- variable ("FFGOPT" by default). Options are saved in the
- "FFGOPT" environment variable using the DOS "set" command as
- follows:
-
- set FFGOPT=/v5 /fp /p
-
- FFG will then use the options specified in the environment
- variable as though they were typed on the command line
- before any other command line parameters. To continue with
- the above example, if you then ran FFG as follows:
-
- ffg c:*.bat
-
- it would be equivalent to having typed:
-
- ffg /v5 /fp /p c:*.bat
-
- Although any command line argument can be set in the FFGOPT
- environment variable, the following options are the most
- likely candidates, since they are preference items: /b, /f,
- /h, /p, /q, /r, /v, /z, /:, /!
-
- The best time to set the environment variable is at system
- startup, which is done by including a "set FFGOPT=" command
- in AUTOEXEC.BAT. If desired, the environment variable can
- be reset (changed) later using the set command. Microsoft
- Windows Note: If you set an environment variable from within
- a DOS window running under Microsoft Windows, the
- environment variable is set/changed only for that particular
- window.
-
- The name of the environment variable is actually not fixed
- at "FFGOPT"; instead it is composed of the name of the
- executable program, "FFG" by default, followed by the fixed
- "OPT", hence "FFGOPT". You can use this to your advantage
- to have differently configured versions of FFG by copying
- FFG.EXE to new names and setting associated OPT variables,
- such as:
-
- set FFG50OPT=/v5 for FFG50.EXE
- set FFGPOPT=/p for FFGP.EXE
- set GOOPT=/g /qm /bd for GO.EXE
-
- File Finder/Grouper 34 (c) EnGamma
-
-
-
-
-
-
-
- Bugs/Known Deficiencies/Future Improvements
-
- 1. Further date options are planned such as /dLASTYEAR
- 2. A combined date-time option is planned (e.g.,
- /t12/1/93@13:47-)
- 3. A more general way of specify logical expressions of
- search criteria is planned, which will allow mixing and
- matching different criteria in arbitrary boolean
- expressions.
- 4. An option to use regular expressions for text searches
- or name searches or both is planned.
- 5. There is currently no way to use the "=' character in
- the FFGOPT variable.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 35 (c) EnGamma
-
-
-
-
-
-
-
- Miscellaneous
-
- 1. Interactive Keys - During a search the following keys
- have a special function:
-
- <ESC> - Aborts/interrupts the search
- <G> - Goes to the disk and directory of the
- last found file. If searching for
- directories, the found directory will be
- made current.
- <S> - Skips to the next disk drive
- <B> - Causes a beep when search complete
- <UP> - Skip to next directory in parent of this
- one
- <DOWN> - Skip to deeper directory (first
- subdirectory of this one)
- <RIGHT> - Skip current file.
- any other key - Pauses the search operation
-
- 2. Speed - A powerful and common use of FFG is find all
- files that contain a specified text string (and then
- maybe do something to/with them). However, opening each
- file on the disk and searching its contents is much
- slower than finding files based on their external
- properties such as name, date, time, size etc. If the
- files to be searched are compressed within an archive
- file, the search is slower still. With a little
- forethought on your part, FFG's true power can be
- brought to bear and such searches can be conducted
- quickly. The key to speeding up such searches is for
- you to also specify some additional filtering criteria
- based on the files' external properties. If you do
- this, FFG will filter out files before applying the
- slower archive extraction and text searching. For
- example, you could filter out all executable files and
- graphic files, exclude files with the system attribute
- set, very large (> 1 MB) files, very old files etc. In
- fact, some defaults have been set up for /x, /s, /a, /$
- specifically to facilitate excluding files that are
- probably not of interest in a text search. These
- defaults are as follows:
-
- /x = /x*.[zoo,arc,arj,lzh,zip,bmp,gif,obj,ovy,drv,dll
- ,com,exe]
- /s = /s1-1M (excludes empty and very large files)
- /a = /a!s (excludes system files)
- /$ = /$=!=#2MZ (excludes files with executable
- signature at beginning of file)
-
- For example, rather than use:
-
- File Finder/Grouper 36 (c) EnGamma
-
-
-
-
-
-
-
-
- FFG *:* /z /$"text to find"
-
- you might try something like the following:
-
-
- FFG *:* /z /$ /$"text to find" /d95- /s /a /x
-
- 3. Status Meter - While searching, FFG displays one of two
- possible status meters (set with /fm[s|p]):
-
- a. The full status meter, which is the default, shows
- the directory file being searched, the archive file
- (/z), and the file being scanned for text
- (/$) along with percentage scanned. Here is an
- example:
-
- D:\PARENT\SUBDIR\[ARCHIVE.ZIP]TEXTFILE.TXT 58%
-
- b. Alternatively, the simple spinning meter can be
- used (/fms) which displays the drive currently
- being searched and indicates progress with a
- spinning run meter. The spinning meter is updated
- one increment each time a new directory or a new
- archive file is searched. When the meter slows, it
- is indicative of either a directory with many files
- or an archive file.
-
- 4. Summary Report - FFG displays a summary report of the
- search operation. It includes:
-
- - Total bytes inside all found files.
- - Disk space occupied by found files including unused
- space due to the disk cluster/block size. For files
- in an archive, the reported disk space occupied by
- files within that archive is limited to the size of
- the archive.
- - Number of directories searched.
- - Number of directories in which files were found
- - Name/Date/Time/Size/Attribute/Text criteria used
- - Starting directory for search if not root directory
- - Directory mask if wildcards used in directory spec
- - Number of archive files searched
- - Number of archive files in which files were found
- - Number of files that could not be extracted from
- archives.
- - Number of files scanned for text.
- - Number of files that could not be scanned for text.
- - The elapsed time from the start of the search.
-
- 5. Setting a Temporary Directory - FFG needs to use a
- temporary directory for text-search archive extracting
-
- File Finder/Grouper 37 (c) EnGamma
-
-
-
-
-
-
-
- (when /z and /$ are used together) and for swapping its
- program to disk during a /e execute command (only if
- there is insufficient EMS/XMS). If you set an
- environment variable, FFGTMP, to a valid path to which
- you can write files, then FFG will use it. If not, FFG
- will look for a TEMP environment variable and then a TMP
- environment variable. If none of these are set to a
- valid path with sufficient space, FFG will then try C:\
- and finally the current directory of the current drive.
- Ideally, you should have one of the above environment
- variables set to a directory on your fastest drive that
- has enough space to hold about 250K plus the largest
- file you might extract from an archive. If you use a
- RAM drive, which is best for speed, make sure it is
- large enough. If you use a network drive, make sure you
- have access rights to write files to that directory.
- Here's an example of how to set the temporary directory
- in AUTOEXEC.BAT:
-
- set FFGTMP=C:\temp
-
- 6. Microsoft Windows - Although not required, there is a
- Windows PIF file in the FFG package which is set up to
- run FFG from within Windows. If you create your own PIF
- file, allow use of EMS and/or XMS memory for optimal
- performance.
-
- 7. Logical Combination of Search Criteria - Currently,
- search criteria of different types (e.g., size and date
- are different types) are combined in a logical AND
- expression. That is, for a file to match it must match
- all criteria. However, within a single command line
- option of one type (e.g., /d), multiple comma-separated
- criteria are combined in a logical OR expression.
-
- 8. One Floppy Systems - When a floppy drive is specified to
- be searched (e.g., ab*:FILENAME or ab:FILENAME or
- a:FILENAME or b:FILENAME), FFG will search the system's
- only floppy drive regardless of whether one or both
- floppies were specified. The summary will report
- whichever logical drive letter DOS was using at the time
- to refer to the drive. (This might be B: if prior to
- running FFG you tried accessing drive B:.)
-
- 9. FFG can be renamed. FFG will recognize the new name and
- display it in the usage screen if you are using DOS 3.0
- or later. Note that the FFGOPT environment variable is
- valid only for FFG.EXE. If, for example, you rename
- FFG.EXE to F.EXE, then the corresponding environment
- variable must be FOPT, not FFGOPT. (You can use this
-
- File Finder/Grouper 38 (c) EnGamma
-
-
-
-
-
-
-
- feature to have different configured versions of FFG.)
-
- 10. Conventions - Several options attach special
- significance to '!' and to '.'. Generally, '!' is used
- to represent "negation"/"logical not"/"turn off".
- Generally '.' is used to represent "only"/"these
- period"/"no others". The '=' symbol will be used as a
- general purpose 'escape' character to indicate that the
- subsequent character or characters are to be treated
- differently than normal. For example, '=c' is used to
- indicate case-sensitivity in a text search.
-
- 11. Return Codes - Upon completion of an error-free search,
- FFG returns 1 if a file was found and 0 if no files were
- found. The DOS errorlevel batch command can be used to
- test for this return value. A few of the example batch
- files make use of this feature.
-
- 12. Commas and batch files - As shown in several of the
- example batch files, FFG can be used in batch files to
- build some special or general purpose utilities.
- However, there is an annoying problem with encapsulating
- FFG in a batch file that arises because of the use of
- the comma ',' as a delimiter for search criteria. The
- problem arises because when a comma is used in an
- argument to a batch file command, DOS interprets it just
- like a space and it is not passed on to FFG. To
- sidestep this problem, FFG accepts alternatives to the
- comma as follows:
-
- For Name criteria (including /x option) you can
- use a slash "/" instead of the comma.
-
- For date, time, size, day-of-week, attribute,
- and text criteria, you can use a single quote
- "'".
-
- Note that there is no problem using commas inside a
- batch file; the problem arises when including commas in
- a command line argument to a batch file.
-
- 13. Use of spaces in command line options - Generally spaces
- and semicolons are not allowed because they are
- interpreted as separators between the command-line
- options. To enable spaces to be used, where legal, you
- can enclose either the entire command line option
- (including the slash/dash and the switch character) in
- double quotes or enclose only the part with spaces. For
- example, use "/$Find this in a file" to find the string
- "Find this in a file". Note that any of the following
-
- File Finder/Grouper 39 (c) EnGamma
-
-
-
-
-
-
-
- alternatives would work:
-
- a. "/$Find this in a file"
- b. /$"Find this in a file"
- c. /$Find" this in a file"
- d. /$Find" this in a "file
- e. /$Find" "this" "in" "a" "file
-
- 14. Option Switches - Options can be specified using either
- '/' or '-' as command line switch characters.
-
- 15. Case Sensitivity - FFG is not currently case sensitive,
- but future releases may distinguish letter case as new
- features are added. Use of lower case letters is
- recommended.
-
- 16. Design - FFG is packed with different features and
- options, but it designed with the principle when using
- basic features, you should not be encumbered with the
- complexities of advanced features. In fact, even
- internal design follows this approach for performance.
- For example, if you specify a simple file specification
- that DOS can handle (e.g., *.BAT), FFG lets DOS handle
- it, which results in a quicker search.
-
- 17. FFG was developed using Borland C++ 3.1.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 40 (c) EnGamma
-
-
-
-
-
-
-
- System Requirements
-
- Operating System/Environment
-
- FFG requires DOS version 3.1 or later. FFG will also run
- under Microsoft Windows in a DOS window.
-
- Video
-
- Although not required, if the system has EGA or VGA video,
- FFG will be able to display more lines of information on the
- screen at once using the /v (Video) option.
-
- System Memory
-
- FFG uses Borland's VROOMM (Virtual Runtime Object-Oriented
- Memory Management) feature to provide many features while
- making most efficient use of system memory. Expanded memory
- (EMS) and/or extended memory (XMS) is used, if detected, to
- improve performance. During execution of commands with the
- /e option, FFG will swap itself (all but about 6 KB) to EMS,
- XMS, or disk to maximize the amount of memory available to
- the program being executed.
-
- With low system memory FFG will still operate, but
- performance may be degraded and some infrequent operations
- may not be possible. If there is low conventional memory,
- but sufficient expanded memory, there may be no noticable
- performance degradation. In any case, if low system memory
- is detected, FFG displays a warning message:
-
- WARNING! Low memory. Program may operate slowly and/or terminate
- prematurely.
-
- FFG requires a minimum of about 135K of conventional system
- memory. Performance and feature availability is maximized
- when there is greater than approximately 190K of
- conventional memory. If during operation, FFG is unable to
- obtain sufficient memory to continue, it will terminate with
- the message:
-
- ERROR! Insufficient memory to continue.
-
- If there is insufficient memory for FFG to execute, one of
- the following error messages will appear depending on the
- available memory:
-
- Cannot Execute FFG.EXE
- Abnormal Program Termination
- ERROR! Insufficient memory.
- 130K of available conventional RAM required
-
- File Finder/Grouper 41 (c) EnGamma
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- File Finder/Grouper 42 (c) EnGamma
-
-